On this page you can get a detailed analysis of a word or phrase, produced by the best artificial intelligence technology to date:
В программировании неизменяемым (англ. immutable) называется объект, состояние которого не может быть изменено после создания.
В функциональном программировании все (в случае чистых языков) или почти все (в случае «нечистых» — англ. impure — языков) данные в программе, как локальные, так и глобальные, являются неизменяемыми. С одной стороны, это существенно повышает стабильность программ за счёт упрощения формальной верификации программ. С другой, это затрудняет решение ряда задач (из которых наиболее часто отмечается задача реализации интерфейса пользователя, который в своей сути представляет собой изменяемое состояние), что вынуждает усложнять системы типов языка — например, монадами или уникальными типами.
В объектно-ориентированном программировании неизменяемые объекты создаются посредством соответствующего шаблона проектирования.
Неизменяемые объекты интересны, например, тем, что потоко-безопасны.